package com.example.travelplan.app;

/**
 * Created by jonas on 19/06/2014.
 */

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.travelplan.app.dominio.Controller;
import com.example.travelplan.app.dominio.Roteiro;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class tabListHistoricoActivity extends Activity {

    MeuAdaptador_Historico listAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tablistahistorico);

        listAdapter = new MeuAdaptador_Historico();

        ListView listView = (ListView)findViewById(R.id.listViewHistorico);
        listView.setAdapter(listAdapter);

        final Intent intentVisualizar = new Intent(this, janelaVisualizarRoteiroActivity.class);

        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) {

                Roteiro roteiro = listAdapter.getRoteiro(arg2);
                Bundle b = new Bundle();
                b.putInt("idRoteiro", roteiro.getM_id());
                intentVisualizar.putExtras(b);
                startActivity(intentVisualizar);
                finish();

            }
        });
    }


    public class MeuAdaptador_Historico extends BaseAdapter {

        List<Roteiro> roteiroList = Controller.getInstance().obterListaRoteiroHistorico();

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return roteiroList.size();
        }

        @Override
        public Roteiro getItem(int arg0) {
            // TODO Auto-generated method stub
            return roteiroList.get(arg0);
        }

        @Override
        public long getItemId(int arg0) {
            // TODO Auto-generated method stub
            return arg0;
        }

        @Override
        public View getView(int arg0, View arg1, ViewGroup arg2) {

            if(arg1==null)
            {
                LayoutInflater inflater = (LayoutInflater) tabListHistoricoActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                arg1 = inflater.inflate(R.layout.listitem_historico, arg2,false);
            }

            TextView nomeCidade = (TextView)arg1.findViewById(R.id.textViewNomeHistorico);
            TextView data = (TextView)arg1.findViewById(R.id.textViewDataHistorico);
            ImageView image = (ImageView) arg1.findViewById(R.id.imageViewLocalHistorico);
            ImageView imageCoracao = (ImageView) arg1.findViewById(R.id.imageView);
            

            Roteiro roteiro = roteiroList.get(arg0);

            nomeCidade.setText(roteiro.getM_cidade().getM_nome());

            Date date = roteiro.obterDataInicial();

            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            String dataString = sdf.format(date);

            data.setText(dataString);

            String nome = roteiro.getM_cidade().getM_diretorioImagem();
            Bitmap img = BitmapFactory.decodeResource(getResources(), RepositorioImage.getInstance().obterIdImage(nome));
            image.setImageBitmap(img);

            Bitmap imgcora;
            if(roteiro.isM_bFavorito())
                imgcora = BitmapFactory.decodeResource(getResources(), R.drawable.ic_heart_on);
            else
                imgcora = BitmapFactory.decodeResource(getResources(), R.drawable.ic_heart_off);

            imageCoracao.setImageBitmap(imgcora);

            return arg1;
        }

        public Roteiro getRoteiro(int position)
        {
            return roteiroList.get(position);
        }

    }

}